import scrapy


class CarSpider(scrapy.Spider):
	# 爬虫名 不能与 项目名 重复
	name = 'car'
	# 域名过滤。一般不写 协议。
	allowed_domains = ['https://car.autohome.com.cn/price/brand-36.html']

	# 如果起始的 url 是 html 页面，即 url以 .html 结尾的，一般不允许出现 '/'
	# https://car.autohome.com.cn/price/brand-36.html/ 是不允许的
	start_urls = ['https://car.autohome.com.cn/price/brand-36.html']

	def parse(self, response):
		# 获取汽车图片地址 和 汽车的名字
		# src_list //div[@class='list-cont-img']//img/@src
		# name_list //div[@class='list-cont-main']/div[1]/a/text()
		src_list = response.xpath("//div[@class='list-cont-img']//img/@src")
		name_list = response.xpath("//div[@class='list-cont-main']/div[1]/a/text()")

		# xpath() 的结果
		# [<Selector xpath="//div[@class='list-cont-img']//img/@src" data='//car3.autoimg.cn/cardfs/product/g25/...'>, <Selector xpath=...
		#print(src_list)

		# 迭代器，用于存放数据结果，并作为返回值
		car_list = []

		for i in range(len(src_list)):
			# xpath() 的结果用 .extract() 解析/提取
			src = src_list[i].extract()
			name = name_list[i].extract()

			# 将数据以字典形式存入
			car = {}
			car['src'] = src
			car['name'] = name

			# 将字典插入到 迭代器 中
			car_list.append(car)

		# parse() 方法最后 必须有返回值，类型为 迭代器 或 生成器
		# 以三种 数据格式 存入返回结果：.json .xml .csv
		#return car_list

